Component Based Programming in Mobile Devices: The Future of Mobile Device Development?

نویسندگان

  • TackSoo Im
  • Mario Guimaraes
چکیده

Advances in hardware has enabled mobile devices to support competing technologies such as Microsoft .NET compact edition, Java Micro Edition and AppForge Piedmont Framework which enable component based programming in mobile devices. Software components are reusable pieces of software modules that can be used very much like Lego blocks to build applications. Components are binary compatible and therefore provide benefits such as reusability, modularity and portability. This paper presents three underlining technologies that enable component based programming in mobile devices and a case study of component development in the AppForge Piedmont framework. The case study is about developing a GIS component to extend Appforge’s mobile Visual Basic. GIS (Geographic information systems) allows geographic information to be displayed with its corresponding map. For example, ArcPad from ESRI (Environmental Systems Research Institute) [1] provides a mobile GIS solution to Windows CE devices but a drawback of such a product is that it does not support a wide range of mobile devices. AppForge Piedmont Framework and other technologies provide a way to solve these kinds of problem in the embedded setting and we believe it presents the future of mobile device development. Introduction Components are defined as binary compatible modules of software that can be reused in different applications. One of the most popular models for components is COM (Component Object Model). It provides a glue for connecting components and a COM component can be built to have an interface element or it can be built as a stand-alone component that provides a service. Competing technologies include CORBA and Enterprise JavaBeans. It is a well established fact that components are important in the larger systems, but why are they important for mobile devices. They address critical issues such as programmer productivity and code reuse. [2] Mobile devices are becoming increasingly more reliant on web services to provide content and therefore developing components for those purposes make more sense than building monolithic applications. Microsoft .NET compact edition, Java Micro Edition, and AppForge Piedmont Framework provide the technologies for doing component based programming in mobile devices. Each technology has its pros and cons but rather than nitpicking on the shortcomings of each product, it is more important to realize how each product can be used to build component based applications for mobile devices. Microsoft .NET Compact Framework Microsoft .NET compact framework is the implementation of the .NET framework in Windows CE, an operating system that is widely used in mobile and embedded devices. The .NET is the complete reinvention of the COM/Win32 programming interface with improvements and better support for network centric computing. It also includes support for interoperability between different computer languages and executable files. This is because .NET executables are written into Microsoft Intermediate Language (MSIL), which is compiled during runtime. [2] The .NET runtime is very much like the JVM (Java Virtual Machine) in that a set of portable instructions are used to write the executables instead of compiling it into native instructions. All these features are common in both the standard .NET Framework and the compact framework. The difference is that the compact framework supports a reduced subset of namespaces and that more emphasis is put on building Windows Forms applications that are deployed as web services. The .NET compact framework allows programmers to develop .NET components that can be reused within the .NET framework and that means all the knowledge that was learned by programming components in standard .NET can be transferred to mobile devices. Another benefit of .NET for mobile devices is that it provides a single platform (Windows CE) enabling software development using multiple languages. It is in stark contrast to J2ME, which provides a multiple-platform-single-language solution. Java Micro Edition Java Micro Edition (J2ME) is, simply put, Java for mobile devices. It provides a reduced set of the Java API and it is widely available in mobile phones and other handhelds. [3] Component based development can be done by implementing a Java class into a JavaBean and therefore much of the benefits of Java technology is provided to mobile device developers. What is interesting is that J2ME provides multiplatform development using a single language. Currently, J2ME is very popular in cell phones but its popularity in PDAs is lagging behind .NET powered devices. It is partly because J2ME is not built on an operating system such as Windows CE but it is also because Java can be more effective in devices such as cell phones that are not tightly coupled with Windows CE. AppForge Piedmont Framework AppForge MobileVB [4] is an add-in to the Visual Basic IDE (Integrated Development Environment) and it enables developers to build applications for mobile devices such as a PDA with Windows CE or PALM-OS and cell phones with Symbian OS. The primary function of MobileVB is to allow current Visual Basic programmers (an estimated 8 million) [5] to develop mobile applications using the familiar Visual Basic IDE. Currently, MobileVB also extends the Visual Basic .NET to mobile devices. Another interesting advantage MobileVB provides is the ability to develop for many mobile devices that run on different platforms. In other words, MobileVB is a cross compiler. This is accomplished by installing a common runtime component called “Booster” to any supported device. The Booster has a footprint of about 350 KB and it is similar to Visual Basic’s runtime component Msvbvm60.dll. [6] For those familar with Microsoft’s Visual IDEs, AppForge provides a good tool to quickly build mobile applications without learning the intricacies of mobile devices. AppForge supports multiple platforms like J2ME, but in a different manner. AppForge solves this problem by providing a cross-compiler that produces different executables for different devices. To address software reuse and modularization, AppForge introduced the Piedmont Framework. It is similar to the Microsoft’s Component Object Model (COM) but it does not rely on the Win32 API. The tools to create Piedmont components are provided with the AppForge SDK [6]. What Should We Choose? Microsoft’s .NET Compact Framework, J2ME, and AppForge Piedmont Framework, all provide a viable way to do component based programming in mobile devices. The choice of what product to use will ultimately come down to what sort of backend the mobile device is depended on and how much familiarity a developer has with each product. Java programmers will lean towards J2ME and those who want to build multiplatform applications not based on Windows CE, but still want to use Microsoft’s IDEs, will choose AppForge. An example of component development for mobile devices using AppForge tools is presented in the following sections. GIS as a Reusable Component ArcPad from ESRI allows users to view maps with its associated geographic data but it has the disadvantage of running only on Windows CE. Instead of implementing a single GIS application for a single platform, it would be beneficial to develop a software component that handles GIS capabilities so that it can be embedded within applications built using AppForge MobileVB. To develop such a component using the AppForge SDK, we must identify the objects and behaviors that are present in a typical GIS component. A Simple GIS component Much like ArcPad, a GIS mobile application should contain layers (a layer shows a particular feature of a map such as roads, buildings and lakes) and geographic data. [7]. Our simple GIS application will take a bitmap image, representing a layer, and highlight the layer according to the data that was selected. For example, consider a layer that represents the political map of Metro-Atlanta divided into counties. When a user selects the population density to be represented in the layer, the layer would be colored from red, indicating the most populated, to white, indicating the least populated area. Figure 1 displays a UML-like diagram that shows the objects, behaviors and variables of the GIS component.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Investigating the Effective Factors on Mobile Learning in Medical Education Based on FRAME Model

Introduction: With regard to an increase in use of modern communication technologies including mobile facilities and their application in learning and training, taking quality and users’ needs into account is a fundamental matter. In this article, an attempt has been made to investigate the factors influencing mobile learning from the perspective of M.S. and Ph.D. medical sciences students stud...

متن کامل

Connection Interface Designing for Grid and Mobile Devices

There area lot of mobile computer devices with a variety of applications and users Tend to use them more. Due to the limitations of mobile devices, running most of the procedures are impossible. To resolve this problem, mobile devices can be connected to the grid, to use the facilities of grid. On the other hand the communication mechanisms are different for each device and they cannot be c...

متن کامل

Synergistic Effect of Radiofrequency Electromagnetic Fields of Dental Light Cure Devices and Mobile Phones Accelerating Microleakage of Amalgam Restorations: An in vitro Study

Background: Previous studies have shown that exposure to electromagnetic fields produced by magnetic resonance imaging or mobile phones can lead to increased microleakage of dental amalgam.Objective: The aim of the present study was to investigate the effect of electromagnetic field of a commercial dental light cure device and a common GSM mobile phone on microleakage of amalgam restorations.Ma...

متن کامل

Connection Interface Designing for Grid and Mobile Devices

There area lot of mobile computer devices with a variety of applications and users Tend to use them more. Due to the limitations of mobile devices, running most of the procedures are impossible. To resolve this problem, mobile devices can be connected to the grid, to use the facilities of grid. On the other hand the communication mechanisms are different for each device and they cannot be c...

متن کامل

DoS-Resistant Attribute-Based Encryption in Mobile Cloud Computing with Revocation

Security and privacy are very important challenges for outsourced private data over cloud storages. By taking Attribute-Based Encryption (ABE) for Access Control (AC) purpose we use fine-grained AC over cloud storage. In this paper, we extend previous Ciphertext Policy ABE (CP-ABE) schemes especially for mobile and resource-constrained devices in a cloud computing environment in two aspects, a ...

متن کامل

SMS Advertising and Consumer Privacy: Analysis of Factors Affecting Consumer Willingness to send and Receive Information in Permission and Data based SMS advertising

The increasing penetration rate of mobile phone, with specific characteristics of this medium, such as almost everywhere with the audience, has attracted companies' attention to it as an advertising channel. Mobile devices facilitate highly customized marketing communication in terms of person, time location and context so numbers of companies that use this medium for communicating with their c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005